﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChongJu.ModelManager.Rating
{
    public class GlobalConfigModel
    {
        /// <summary>
        /// 开始下料数量
        /// </summary>
        public int ClearStart { get; set; } = 300;

        /// <summary>
        /// 提前动作数量
        /// </summary>
        public int AdvancedRun { get; set; } = 298;


        /// <summary>
        /// 分拣中 图片采样率  1/val
        /// </summary>
        public int RatingImageSampling { get; set; } = 100;

        /// <summary>
        /// 连续拍照间隔 ms
        /// </summary>
        public int TriggerInterval { get; set; } = 300;


        /// <summary>
        /// 是否保存海康威视拍照的图片true：保存；false：不保存
        /// </summary>
        public bool SaveSourceImage { get; set; } = false;

        /// <summary>
        /// 存储分拣图片目录磁盘最后剩余容量临界值（单位GB）
        /// 当磁盘剩余容量 < TriggerDeleteSize时，则会触发删除旧文件逻辑
        /// </summary>
        public long TriggerDeleteSize { get; set; } = 10;
        /// <summary>
        /// 触发删除旧文件逻辑时需要删除文件的比例
        /// 比如：文件夹中文件总数为100个，那么执行删除的文件是100 * 0.75 = 75个，剩余的文件是25个
        /// </summary>
        public double RemoveRate { get; set; } = 0.75;
        /// <summary>
        /// 单模型逻辑上次更新模型时间
        /// </summary>
        public long ModelUpdateTime { get; set; } = 0;
        /// <summary>
        /// 多模型逻辑上次更新模型时间
        /// </summary>
        public long MultiModelUpdateTime { get; set; } = 0;

        /// <summary>
        /// 
        /// </summary>
        public long RatingInterval { get; set; } = 500;

        public string TestRatingImageDir { get; set; } = "D:\\TestRatingImage";

        public int ApiType { get; set; } = 1;


        /// <summary>
        /// 前端称适配
        /// </summary>
        public int FrontType { get; set; } = 1;

        /// <summary>
        /// 是否开机下载模型
        /// </summary>
        public bool IsDownLoadModel { get; set; } = true;

        /// <summary>
        /// 深度学习大文件名称
        /// </summary>
        public string DllFileName { get; set; }

        /// <summary>
        /// 当前AutoID
        /// </summary>
        public int AutoID { get; set; }

        /// <summary>
        /// NA播报提示音
        /// </summary>
        public string NaTipMessage { get; set; } = "非烟";

        /// <summary>
        /// 是否底部二次拍照
        /// </summary>
        public bool Is‌Bottom { get; set; } = false;

        /// <summary>
        /// 是否称重
        /// </summary>
        public bool IsWeight { get; set; } = false;

        /// <summary>
        /// 成称重类型
        /// 1 卡索
        /// 2 板子
        /// 3 200块
        /// </summary>
        public int WeightType { get; set; } = 1;
    }
}
